//package com.mxm;
//
//import static org.junit.Assert.*;
//
//import java.util.ArrayList;
//import java.util.List;
//
//import org.apache.ibatis.session.SqlSession;
//import org.apache.log4j.Logger;
//import org.junit.Test;
//
//import com.mxm.concroler.MyBatisUtil;
//import com.mxm.dao.BillMapper;
//import com.mxm.pojo.Bill;
//
//public class Try {
//
//	private Logger logger = Logger.getLogger(Try.class);
//
//	@Test
//	public void test() {
//		SqlSession sqlSession = null;
//		List<Bill> list = new ArrayList<Bill>();
//		try {
//			sqlSession = MyBatisUtil.getSqlsession();
//			list = sqlSession.getMapper(BillMapper.class).getAllBill();
//		} catch (Exception e) {
//		}
//		for (Bill bill : list) {
//			System.out.println(bill.getProductName());
//		}
//	}
// }
package com.mxm;

import java.util.ArrayList;
import java.util.List;

import org.apache.ibatis.session.SqlSession;
import org.apache.log4j.Logger;
import org.junit.Test;

import com.mxm.concroler.MyBatisUtil;
import com.mxm.dao.BillMapper;
import com.mxm.pojo.Bill;

public class CopyOfTry {
	private Logger logger = Logger.getLogger(CopyOfTry.class);

	@Test
	public void Maskaki() {

		// 查找全部
		SqlSession sqlSession = MyBatisUtil.getSqlsession();
		// 使用工具类的getSqlsession方法将XML转换成输入流并获得，存储在sqlSession中
		List<Bill> list = new ArrayList<Bill>();
		list = sqlSession.getMapper(BillMapper.class).getAllBill();
		// 通过sqlSession(存储XML的输入流)的getMapper方法反射获得接口的实体类，调用接口的getAllBill方法获取所有的Bill对象
		for (Bill b : list) {
			System.out.println(">>>>" + b.getProductName());
		}

		// 增加一个
		Bill bill = new Bill();
		bill.setBillCode("BILL2016_019");
		bill.setProductName("alenware");
		bill.setProductDesc("数码产品");
		bill.setProductUnit("台");
		bill.setProductCount(4000.00);
		bill.setTotalPrice(12000.00);
		bill.setIsPayment(2);
		bill.setCreatedBy(1);
		bill.setProviderId(05050);
		int i = sqlSession.getMapper(BillMapper.class).addBill(bill);
		// 通过sqlSession1(存储XML的（含有最新数据）输入流)的getMapper方法反射获得接口的实体类，调用接口的addBill方法（操作含有最新数据的表，增加数据）
		String result = "";
		System.out.println(">>>新增" + (result = i == 1 ? "成功" : "失败"));
		sqlSession.commit();// 落实
		// 查找全部（新增后）
		list = sqlSession.getMapper(BillMapper.class).getAllBill();
		// 通过sqlSession1(存储XML的输入流（含有最新数据）)的getMapper方法反射获得接口的实体类，调用接口的getAllBill方法获取所有的Bill对象
		for (Bill b : list) {
			System.out.println(">>>>222222222222222>>>>>>>>>>>>>>>>>>"
					+ b.getProductName());

		}

		// 更改数据
		Bill bill1 = new Bill();
		int id = list.get(list.size() - 1).getId();// 获取新增的数据的id
		bill1.setId(id);
		bill1.setBillCode("BILL2016_019");
		bill1.setProductName("外星人");
		bill1.setProductCount(8999.00);
		int i1 = sqlSession.getMapper(BillMapper.class).updateBill(bill1);
		// 通过sqlSession2(存储XML的（含有最新数据）输入流)的getMapper方法反射获得接口的实体类，调用接口的updateBill方法（操作含有最新数据的表，改变数据）
		String result1 = "";
		System.out.println(">>>修改" + (result1 = i1 == 1 ? "成功" : "失败"));
		sqlSession.commit();// 落实
		// 根据id查找
		Bill bill2 = sqlSession.getMapper(BillMapper.class).getByidBill(id);
		// 通过sqlSession2(存储XML的输入流（含有最新数据）)的getMapper方法反射获得接口的实体类，调用接口的getAllBill方法获取对应id的bill对象
		System.out.println(bill2.getProductName());

		// 删除这条新增数据
		int i2 = sqlSession.getMapper(BillMapper.class).deleteBill(id);
		// 通过sqlSession3(存储XML的（含有最新数据）输入流)的getMapper方法反射获得接口的实体类，调用接口的deleteBill方法（操作含有最新数据的表，删除数据）
		String result2 = "";
		System.out.println(">>>删除" + (result2 = i1 == 1 ? "成功" : "失败"));
		sqlSession.commit();// 落实
		// 查找增加后的
		list = sqlSession.getMapper(BillMapper.class).getAllBill();
		// 通过sqlSession3(存储XML的输入流（含有最新数据）)的getMapper方法反射获得接口的实体类，调用接口的getAllBill方法获取所有的Bill对象
		for (Bill b : list) {
			System.out.println(">>>>" + b.getProductName());
		}
	}
}